The Internet has become a significant way of obtaining information around the world. (As used herein, information is also referred to as “content.”) A computer connected to the Internet is called a host. Each host is identified by a name which comprises labels separated by “.” such as “www.foo.com.”
The name identifying a host corresponds to one or more 32-bit Internet Protocol (IP) addresses. A domain name, on the other hand, corresponds to a prefix of an IP address, that is shared by all its subdomains and hosts in that domain. An IP address (hereinafter “address”) is usually written in 4 numeric fields separated by “.” such as 152.192.16.15, where each field represents a decimal number ranging from 0 to 255 and occupying 8 bits when converted into a binary number. The model of interaction between two hosts generally is the client-server model in which a client host (“hereinafter “client”) sends a request to a server host (hereinafter “server”) and the server returns a response to the client using the above-mentioned IP addresses.
Generally, when a user of a client requests content from a content provider, the user usually uses the name of the content provider, which may correspond to one or more addresses identifying one or more content delivery servers of that content provider. In order to connect to a content delivery server, the client generally sends a request (query) to a special server to map the name into an address. This special server is called a domain name server (DNS). The DNS generally selects an address mapped to that name randomly or in a round robin manner. Upon receiving the address from the DNS, the client uses the selected mapped address to then connect to the content delivery server identified by the selected mapped address. In the following, “mapped address” is used interchangeably with “mapped delivery server” identified by the “mapped address.”